//
//  ZLLBarView.h
//  test
//
//  Created by Vincent on 2017/4/7.
//  Copyright © 2017年 Vincent. All rights reserved.
//

#import <UIKit/UIKit.h>


/**
 *条形视图数据模型
 *
 */
@interface ZLLBarData : NSObject

//在x轴上的描述
@property(nonatomic,copy)NSAttributedString *xBarDes;
//条形视图的y坐标值
@property(nonatomic,assign)double yVal;
//bar的颜色
@property(nonatomic,strong)UIColor *barColor;
//在bar头部的描述
@property(nonatomic,copy)NSAttributedString *yBarDes;


+(id)barDataWithXDestription:(NSAttributedString *)xBarDes yValue:(double)yval barColor:(UIColor *)barCol yBarDescription:(NSAttributedString *)ybarDes;


@end



/**
 *条形视图
 *
 */
@interface ZLLBarView : UIView

//视图标题
@property(nonatomic,strong)UILabel *titleLab;

//x、y坐标相对该视图的距离(默认为（20，40，20，0)）
@property(nonatomic,assign)UIEdgeInsets barEdge;

//第一个bar相对y轴的距离
@property(nonatomic,assign)double startOff;
//每个bar的宽度(默认为30）
@property(nonatomic,assign)double barWidth;

//bar之间的间隔{默认为(self.bounds.size.width-self.barEdge.left-self.barEdge.right-self.startOff-self.dataArr.count*self.barWidth)/self.dataArr.count}
@property(nonatomic,assign)double barSpace;

//数据对象
@property(nonatomic,strong)NSArray<ZLLBarData *> *dataArr;

//y轴刻度的最大值
@property(nonatomic,assign)double yMax;

//y轴刻度文字格式化方式(默认为NSNumberFormatterDecimalStyle）
@property(nonatomic,strong)NSNumberFormatter *yFormatter;

//y轴刻度分区数量(默认为5个）
@property(nonatomic,assign)int ySection;

//y轴刻度文字绘制方式(默认黑色、12号字体)
@property(nonatomic,strong)NSDictionary *yDrawOptions;


//y轴单位
@property(nonatomic,strong)NSAttributedString *yUnit;

//虚线颜色(默认为gray)
@property(nonatomic,strong)UIColor *dashColor;

//坐标轴（x、y）的颜色,默认为黑色
@property(nonatomic,strong)UIColor *axisColor;

//绘制相关的视图
-(void)strokeBarView;

//显示完数据对象需要的视图宽度
-(double)fitViewWidthByDataArray:(NSArray<ZLLBarData *> *)dataArr;

@end
